package org.dromara.third.convert.enterprise.dto;

import lombok.Data;

/**
 * 设备基础信息数据传输对象（DTO）
 * 用于封装设备的核心静态信息（如属性、分类、状态、维护周期等），支撑设备管理相关业务
 */
@Data
public class EquipmentDTO {

    /**
     * 1. 雪花主键
     * 说明：设备信息的全局唯一标识，采用雪花算法生成的Long类型ID
     */
    private Long id;

    /**
     * 2. 所属装置
     * 说明：关联的装置ID（雪花主键），用于定位设备所属的生产/工艺装置，不可为空
     */
    private Long sszz;

    /**
     * 3. 设备名称
     * 说明：设备的标准名称（如"离心泵"、"反应釜"），不可为空
     */
    private String sbmc;

    /**
     * 4. 设备位号
     * 说明：设备在厂区内的唯一位号标识（如"P-101"、"R-202"），不可为空
     */
    private String sbwh;

    /**
     * 5. 所属部门
     * 说明：设备归属的管理部门（如"设备部"、"生产一部"），不可为空
     */
    private String ssbm;

    /**
     * 6. 设备主次
     * 说明：设备在系统中的主次分类，不可为空
     * 取值：0-主设备，1-附属设备，2-其他
     */
    private String sbzc;

    /**
     * 7. 设备类型
     * 说明：设备按功能/属性的分类，不可为空
     * 取值：0-动设备（如泵、风机），1-静设备（如容器、换热器），2-电气（如变压器、电机），3-仪表（如流量计、控制器）
     */
    private String sblx;

    /**
     * 8. 是否特种设备
     * 说明：标识设备是否属于国家监管的特种设备，不可为空
     * 取值：0-否，1-是
     */
    private byte tzsbNy;

    /**
     * 9. 特种设备分类
     * 说明：仅当"是否特种设备"为1时有效，不可为空（非特种设备可填0或默认值）
     * 取值：0-压力容器，1-压力管道，2-锅炉
     */
    private byte tzsbfl;

    /**
     * 10. 是否为安全附件
     * 说明：标识设备是否属于安全附件，不可为空
     * 取值：0-否，1-是
     */
    private byte aqfjNy;

    /**
     * 11. 安全附件分类
     * 说明：仅当"是否为安全附件"为1时有效，不可为空（非安全附件可填0或默认值）
     * 取值：0-安全阀，1-爆破片装置，2-紧急切断装置，3-压力表，4-液位计，5-测温仪表，6-易熔塞，7-其他
     */
    private byte aqfjfl;

    /**
     * 12. 设备等级
     * 说明：设备按重要性/风险等级的划分，用于差异化管理，不可为空
     * 取值：0-一般设备，1-关键设备，2-核心设备
     */
    private byte sbdj;

    /**
     * 13. 设备状态
     * 说明：设备当前的运行/管理状态，不可为空
     * 取值：0-运行，1-停用，2-备用，3-维修，4-待修，5-过期（如超期未检、报废待处理）
     */
    private byte sbzt;

    /**
     * 14. 设备型号
     * 说明：设备的厂家型号（如"IS80-50-200"），不可为空
     */
    private String sbxh;

    /**
     * 15. 生产日期
     * 说明：设备的出厂日期，格式为yyyy-MM-dd，不可为空
     */
    private String scrq;

    /**
     * 16. 使用年限
     * 说明：设备的设计使用年限（如"10年"、"20年"），不可为空
     */
    private String synx;

    /**
     * 17. 安装位置
     * 说明：设备在厂区内的具体安装地点（如"装置区A区一层"、"控制室201"），不可为空
     */
    private String azwz;

    /**
     * 18. 安装日期
     * 说明：设备完成安装调试的日期，格式为yyyy-MM-dd，不可为空
     */
    private String azrq;

    /**
     * 19. 启用日期
     * 说明：设备正式投入使用的日期，格式为yyyy-MM-dd，不可为空
     */
    private String qyrq;

    /**
     * 20. 维护保养周期
     * 说明：设备定期维护的周期数值（如"1"、"3"），需与"维护保养单位"配合使用，不可为空
     */
    private String whbyzq;

    /**
     * 21. 维护保养单位
     * 说明：维护保养周期的时间单位，不可为空
     * 取值：0-天，1-周，2-旬，3-月，4-季，5-半年，6-年
     */
    private String whbydw;

    /**
     * 22. 责任人
     * 说明：设备的日常管理/维护责任人姓名，不可为空
     */
    private String zrr;

    /**
     * 23. 联系方式
     * 说明：设备责任人的联系电话/邮箱，不可为空
     */
    private String lxfs;

    /**
     * 24. 删除标志
     * 说明：数据逻辑删除标识，不可为空
     * 取值：0-正常（未删除），1-已删除
     */
    private String delFlag;

    /**
     * 25. 创建时间
     * 说明：数据的创建时间，格式为yyyy-MM-dd HH:mm:ss，不可为空
     */
    private String createTime;

    /**
     * 26. 创建人名称
     * 说明：数据创建者的姓名，不可为空
     */
    private Long createBy;

    /**
     * 27. 最后修改时间
     * 说明：数据最后一次更新的时间，格式为yyyy-MM-dd HH:mm:ss；新创建数据与createTime一致，不可为空
     */
    private String updateTime;

    /**
     * 28. 更新人名称
     * 说明：数据最后一次更新者的姓名，不可为空
     */
    private Long updateBy;
}
